<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTagMux: GStreamer Base Plugins 1.0 Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-tag.html" title="Tag Support Library">
<link rel="prev" href="gst-plugins-base-libs-GstTagDemux.html" title="GstTagDemux">
<link rel="next" href="gst-plugins-base-libs-ISO-639-lang-mappings.html" title="ISO-639 lang mappings">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gst-plugins-base-libs-GstTagMux.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gstreamer-tag.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gst-plugins-base-libs-GstTagDemux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gst-plugins-base-libs-ISO-639-lang-mappings.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gst-plugins-base-libs-GstTagMux"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-GstTagMux.top_of_page"></a>GstTagMux</span></h2>
<p>GstTagMux — Base class for adding tags that are in one single chunk
                    directly at the beginning or at the end of a file</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-base-libs-GstTagMux.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstTagMux.html#GstTagMux" title="struct GstTagMux">GstTagMux</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstTagMux.html#GstTagMuxClass" title="struct GstTagMuxClass">GstTagMuxClass</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-GstTagMux.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/tag/tag.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-GstTagMux.description"></a><h2>Description</h2>
<p>Provides a base class for adding tags at the beginning or end of a
stream.</p>
<div class="refsect3">
<a name="id-1.2.13.10.5.3"></a><h4>Deriving from GstTagMux</h4>
<p>Subclasses have to do the following things:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>In their base init function, they must add pad templates for the sink
pad and the source pad to the element class, describing the media type
they accept and output in the caps of the pad template.</p></li>
<li class="listitem"><p>In their class init function, they must override the
GST_TAG_MUX_CLASS(mux_klass)-&gt;render_start_tag and/or
GST_TAG_MUX_CLASS(mux_klass)-&gt;render_end_tag vfuncs and set up a render
function.</p></li>
</ul></div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-GstTagMux.functions_details"></a><h2>Functions</h2>
<p></p>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-GstTagMux.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstTagMux"></a><h3>struct GstTagMux</h3>
<pre class="programlisting">struct GstTagMux {
  GstElement    element;
};
</pre>
<p>Opaque <a class="link" href="gst-plugins-base-libs-GstTagMux.html#GstTagMux" title="struct GstTagMux"><span class="type">GstTagMux</span></a> structure.</p>
<div class="refsect3">
<a name="GstTagMux.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody><tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstTagMux.element"></a>element</code></em>;</p></td>
<td class="struct_member_description"><p>parent element</p></td>
<td class="struct_member_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GstTagMuxClass"></a><h3>struct GstTagMuxClass</h3>
<pre class="programlisting">struct GstTagMuxClass {
  GstElementClass parent_class;

  /* vfuncs */
  GstBuffer  * (*render_start_tag) (GstTagMux * mux, const GstTagList * tag_list);
  GstBuffer  * (*render_end_tag)   (GstTagMux * mux, const GstTagList * tag_list);
};
</pre>
<p>The <a class="link" href="gst-plugins-base-libs-GstTagMux.html#GstTagMuxClass" title="struct GstTagMuxClass"><span class="type">GstTagMuxClass</span></a> structure. Subclasses need to override at least one
of the two render vfuncs.</p>
<div class="refsect3">
<a name="GstTagMuxClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagMuxClass.render-start-tag"></a>render_start_tag</code></em> ()</p></td>
<td class="struct_member_description"><p>create a tag buffer to add to the beginning of the
input stream given a tag list, or NULL</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagMuxClass.render-end-tag"></a>render_end_tag</code></em> ()</p></td>
<td class="struct_member_description"><p>create a tag buffer to add to the end of the
input stream given a tag list, or NULL</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-GstTagMux.see-also"></a><h2>See Also</h2>
<p>GstApeMux, GstId3Mux</p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>